package com.gwtapps.messenger.client.view;



import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HasHorizontalAlignment;
import com.google.gwt.user.client.ui.HasVerticalAlignment;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.KeyboardListenerAdapter;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;

public class SignInView extends Composite {
	
	private VerticalPanel mainPanel = new VerticalPanel();
	private TextBox nameBox = new TextBox();
	private MessengerView view;
	
	public SignInView( MessengerView view ){
		loadImgResource();
		initWidget( mainPanel );
		this.view = view;
		mainPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
		mainPanel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
		
		Button signInButton = new Button( "Sign In" );
		VerticalPanel vpanel = new VerticalPanel();
		vpanel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
		vpanel.add( new Label( "Sign in name:") );
		vpanel.add( nameBox );
		vpanel.add( signInButton );
		mainPanel.add( vpanel );
		nameBox.addKeyboardListener(new KeyboardListenerAdapter() {
	         public void onKeyPress(Widget sender, char keyCode, int modifiers)
	         {
	             if(keyCode == KEY_ENTER )
	            	 signIn();
	         }});

		signInButton.addClickListener(new ClickListener() {
			public void onClick(Widget sender) 
			{
				signIn();
			}});
	}
	
	public void signIn(){
		String name = nameBox.getText();
		int rnd=(int) (Math.random() * 2) + 35;
		int gridx=rnd;
		int gridy=rnd;
		int direction=5;
		int charPosOnMapX=560;
		int charPosOnMapY=368;
		int healt=100;
		if( name.length() > 0 ){
			mainPanel.clear();
			Label signInLabel = new Label("Loading...");
			mainPanel.add( signInLabel );
			view.getListener().onSignIn(name,gridx,gridy,direction,charPosOnMapX,charPosOnMapY,healt);
		}
	}
	void loadImgResource() {
		Image.prefetch("./MSEF000.gif");
		Image.prefetch("./brda000.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAA/HMMAXXAA.gif-0-00.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAA/HMMAXXAA.gif-1-00.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAA/HMMAXXAA.gif-2-00.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAA/HMMAXXAA.gif-3-00.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAA/HMMAXXAA.gif-4-00.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAA/HMMAXXAA.gif-5-00.gif");
		
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-0-0.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-0-1.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-0-2.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-0-3.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-0-4.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-0-5.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-0-6.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-0-7.gif");
		
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-1-0.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-1-1.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-1-2.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-1-3.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-1-4.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-1-5.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-1-6.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-1-7.gif");
		
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-2-0.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-2-1.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-2-2.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-2-3.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-2-4.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-2-5.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-2-6.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-2-7.gif");
		
		
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-3-0.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-3-1.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-3-2.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-3-3.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-3-4.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-3-5.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-3-6.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-3-7.gif");
		
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-4-0.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-4-1.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-4-2.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-4-3.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-4-4.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-4-5.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-4-6.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-4-7.gif");
		
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-5-0.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-5-1.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-5-2.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-5-3.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-5-4.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-5-5.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-5-6.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAB/HMMAXXAB.gif-5-7.gif");
		
				
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAO/HMMAXXAO-0-0.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAO/HMMAXXAO-0-1.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAO/HMMAXXAO-0-2.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAO/HMMAXXAO-0-3.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAO/HMMAXXAO-0-4.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAO/HMMAXXAO-0-5.gif");

		
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAO/HMMAXXAO-1-0.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAO/HMMAXXAO-1-1.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAO/HMMAXXAO-1-2.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAO/HMMAXXAO-1-3.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAO/HMMAXXAO-1-4.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAO/HMMAXXAO-1-5.gif");

		
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAO/HMMAXXAO-2-0.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAO/HMMAXXAO-2-1.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAO/HMMAXXAO-2-2.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAO/HMMAXXAO-2-3.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAO/HMMAXXAO-2-4.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAO/HMMAXXAO-2-5.gif");

		
		
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAO/HMMAXXAO-3-0.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAO/HMMAXXAO-3-1.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAO/HMMAXXAO-3-2.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAO/HMMAXXAO-3-3.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAO/HMMAXXAO-3-4.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAO/HMMAXXAO-3-5.gif");

		
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAO/HMMAXXAO-4-0.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAO/HMMAXXAO-4-1.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAO/HMMAXXAO-4-2.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAO/HMMAXXAO-4-3.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAO/HMMAXXAO-4-4.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAO/HMMAXXAO-4-5.gif");

		
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAO/HMMAXXAO-5-0.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAO/HMMAXXAO-5-1.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAO/HMMAXXAO-5-2.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAO/HMMAXXAO-5-3.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAO/HMMAXXAO-5-4.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAO/HMMAXXAO-5-5.gif");
		
		
//		for (int i=0;i<5;i++){/*hit*/
//			for(int j=0;j<10;i++){
//				Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-"+i+"-0"+j+".gif");
//			}
//		}
		
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-0-00.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-0-01.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-0-02.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-0-03.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-0-04.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-0-05.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-0-06.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-0-07.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-0-08.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-0-09.gif");

		
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-1-00.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-1-01.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-1-02.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-1-03.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-1-04.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-1-05.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-1-06.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-1-07.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-1-08.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-1-09.gif");

		
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-2-00.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-2-01.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-2-02.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-2-03.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-2-04.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-2-05.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-2-06.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-2-07.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-2-08.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-2-09.gif");

		
		
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-3-00.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-3-01.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-3-02.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-3-03.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-3-04.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-3-05.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-3-06.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-3-07.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-3-08.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-3-09.gif");

		
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-4-00.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-4-01.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-4-02.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-4-03.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-4-04.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-4-05.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-4-06.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-4-07.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-4-08.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-4-09.gif");


		
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-5-00.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-5-01.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-5-02.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-5-03.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-5-04.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-5-05.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-5-06.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-5-07.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-5-08.gif");
		Image.prefetch("./gfx/critter/art/critters/HMMAXXAQ/HMMAXXAQ-5-09.gif");
		
		
	}
	
}